package com.ctshk.rpc.payment.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.ctshk.common.model.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * <p>
 * 支付记录
 * </p>
 *
 * @author hef
 * @since 2021-04-21
 */
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
@TableName("t_pay_record")
@ApiModel(value="PayRecord对象", description="支付记录")
public class PayRecord extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "订单ID")
    private Long orderId;

    @ApiModelProperty(value = "订单号")
    private String orderNumber;

    @ApiModelProperty(value = "业务类型编码,枚举SystemBusinessType")
    private Integer businessTypeCode;

    @ApiModelProperty(value = "支付方式:(PaymentMethod枚举)")
    private Integer paymentMethod;

    @ApiModelProperty(value = "支付方式名称")
    private String paymentMethodName;

    @ApiModelProperty(value = "结算货币")
    private String currency;

    @ApiModelProperty(value = "支付金额")
    private BigDecimal totalFee;

    @ApiModelProperty(value = "支付主题")
    private String subject;

    @ApiModelProperty(value = "支付描述")
    private String body;

    /**
     * @enum PayOrderStatus
     */
    @ApiModelProperty(value = "支付状态,PayOrderStatus枚举")
    private Integer orderStatus;

    @ApiModelProperty(value = "发起支付参数")
    private String payReqParam;

    @ApiModelProperty(value = "回调参数")
    private String callbackParam;

    @ApiModelProperty(value = "通知地址")
    private String notifyUrl;

    @ApiModelProperty(value = "支付时间")
    private LocalDateTime payTime;

    @ApiModelProperty(value = "创建人")
    private Long createId;

    @ApiModelProperty(value = "修改人")
    private Long modifiedId;

    @ApiModelProperty(value = "删除标识")
    private Integer isDeleted;


}
